
package com.okaixz.common.client.exception;


/**
 * 异常编码 0成功、-1熔断、 -2 标准参数校验不通过 -3会话超时
 * 前两位:服务标识
 * 中间两位:模块标识
 * 后两位:异常标识
 */
public enum CommonErrorCode implements ErrorCode {

    ////////////////////////////////////公用异常编码 //////////////////////////

    SUCCESS(200, "成功"),
    FUSE(-1, "网关调用熔断"),

    /**
     * 应用不存在
     */
    APP_NOT_EXIST(10000, "应用不存在"),
    /**
     * 传入参数与接口不匹配
     */
    E_100101(100101, "传入参数与接口不匹配"),
    /**
     * 获取微信openid失败
     */
    GET_WX_OPENID_FAIL(100102, "获取微信openid失败"),
    CHECK_VIP_FAIL(100103, "会员权限已过期或剩余AI字数不足"),
    PARSE_TOKEN_FAIL(100104, "认证失败，登录状态已经过期"),
    TOKEN_NULL(100105, "登录令牌为空"),
    PAY_GET_QRCODE_ERROR(100106, "获取支付二维码失败"),

    CUSTOM(999998, "自定义异常"),
    /**
     * 未知错误
     */
    UNKOWN(999999, "系统繁忙，请稍候再试！"),
    USER_NOT_EXIST(100107, "用户不存在"),
    CLIENT_NOT_EXIST(100108, "客户端不存在"),
    CUSTOMER_ASSISTANT_NAME_EMPTY(100110, "助手名称不能为空"),
    CUSTOMER_ASSISTANT_IDS_EMPTY(100111, "助手关联标签不能为空"),
    ASSISTANT_NOT_EXIST(100112, "标签不存在"),
    SHARE_ERROR_USER_CREATETIME_IS_AFTER_7DAYS(100113, "用户注册时间超过7天"),
    SHARE_ERROR_USER_ALREADY_BIND(100114, "用户已绑定邀请码"),
    SHARE_ERROR_SHARE_CODE_NOT_EXIST(100115, "邀请码不存在"),
    SHARE_ERROR_CANNOT_SHARE_TO_YOURSELF(100116, "不能邀请自己"),
    PARAM_ERROR(100117, "参数错误"),
    USER_QIANDANO_TODAY(100118, "当前用户今天已签到"),
    TASK_ALRADAY_GETSCORE(100119, "已领取积分，不能重复领取"),
    TASK_NOT_FINISH(100120, "任务未完成，请完成任务后再领取积分"),
    USER_LOGOFF(100121, "用户已经注销"),
    ORDER_NOT_EXIST(100122, "未查询到相关订单"),
    WXAPP_NOT_EXIST(100123, "未查询到微信应用信息"),
    GOODS_NOT_EXIST(100124, "商品不存在"),
    VIP_NOT_VIP(100125, "您还不是会员，请开通会员后使用"),
    SENSITIVE_WORDS(100126, "您输入的内容包敏感词，请去除敏感词后再提交"),
    PWD_ERROR(100127, "密码错误"),
    PWD_NOT_SET_ERROR(100128, "未设置密码"),
    PWD_ERROR_TOO_MANY_TIMES(100129, "密码输入错误次数超过3次，为保障您的密码安全，请1小时后重试"),
    OP_FAIL(100109, "操作失败");


    private int code;
    private String desc;

    public int getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    private CommonErrorCode(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }


    public static CommonErrorCode setErrorCode(int code) {
        for (CommonErrorCode errorCode : CommonErrorCode.values()) {
            if (errorCode.getCode() == code) {
                return errorCode;
            }
        }
        return null;
    }
}
